Matlab:从矩阵中获取元素 您所在的位置:网站首页 matlab 取列 Matlab:从矩阵中获取元素

Matlab:从矩阵中获取元素

#Matlab:从矩阵中获取元素| 来源: 网络整理| 查看: 265

我们知道,获取 Matlab 中矩阵M\in R^{m\times n}的元素,可以通过 M() ,即圆括号运算符来实现,圆括号里面的参数不同,可以获取不同规格的元素.

M = [1,4,7;2,5,8;3,6,9] M = 1 4 7 2 5 8 3 6 9第一种

也是最常见的是获取 M\in R^{m\times n} 中的 (ij)th 项,代码为

temp = M(i,j);

(i,j) :圆括号里面有用逗号分开的两个标量 i,j , i=1,2,...,m;j=1,2,...,n .

第二种

有一种做法是获取一行或这一列,这个也很简单,通过 Matlab 提供的便捷技巧,通过如下代码实现:

temp_row = M(i,:); temp_low = M(:,j);

(i,:) 圆括号里面有用逗号分开的两个参数,其中有一个用冒号代替了,这样表示取这一整列或一整行。这里用到了一些特殊的符号 :,具体含义参考任意一本 Matlab 入门书籍,或者自行百度。

第三种:

圆括号里面不再是逗号分开的两个参数,而是一个向量 index .

index1 = [1,3,5,7,9]; M(index1) ans = 1 3 5 7 9 index2 = [3,9,5,1,7]; M(index2) ans = 3 9 5 1 7

这样做需要两个前置条件:

首先需要简单的了解一下 Matlab 中矩阵元素的排列方式,简单来说,就是矩阵中的元素有两个下标索引,一个就是类似于数学中的矩阵概念,下标索引为 (i,j) ,另外一个就是把矩阵按列分块 M=[r_1,r_2,...,r_n] ,然后再把列向量首尾相连拼接形成一个长向量,这样矩阵中的元素就会有一个向量下标 i .形象的理解一下就是把矩阵的元素按照从左到右,从上到下的顺序,挨个数数,数到几这个元素的向量下标就是几。这个向量的元素的值要大于等于1,小于等于 m*n .

这样可以提取出我们任意想要的不同位置的多个元素。注意如果这个向量如果按照从小到大排序。

下面举一个例子:从矩阵中随机选取5个元素

Omega = randperm(3*3); Omega = Omega(1:5); Omega = sort(Omega); v = M(Omega) v = 3 5 6 7 8



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有